#include <stdio.h>
#include <stdlib.h>
#include "types.h"
#include "cgl.h"

void affLigneCrenModification();
void affLignesDisponibilitesModification(int deb,int fin);
void affFormulaire(int nPart, int nRDV);

int numRDV(){
  int n;
  // Etablissement de la connexion
  if (cgl_init() == -1) {
    cgl_perror(stderr, "Erreur CGI ...");
    exit(1);}
  
  cgl_html_header();
  
  n = atoi(cgl_getvalue("numero"));
  return n;
}

int numPart(){
  int n;
  
  n = atoi(cgl_getvalue("numP"));
  return n;
}



void affichagePageTableauModification(int nRDV, int nPART){
  //Toute la partie au dessus du tableau
  printf("\n<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">\n<TITLE>Convergence - Le tableau des disponibilités du RDV n°%d - %s</TITLE>\n</head>\n</html>\n<html>\n<body>\n<hr><div align=\"center\"><strong><FONT size=\"+2\" color=\"Teal\">%s</FONT></strong></div><hr>\n<table>  \n<tbody>    \n<tr>      \n<td bgcolor=\"#99CCCC\" width=\"200\"><div align=\"right\">Nom du responsable : </div></td>      \n<td>%s</td>    \n</tr>    \n<tr>      \n<td bgcolor=\"#99CCCC\"><div align=\"right\">Mail du responsable : </div></td>      \n<td>\n<a href=\"mailto:%s\">%s</a></td>    \n</tr>    \n<tr>	\n<td bgcolor=\"#99CCCC\"><div align=\"right\">Description : </div></td>      \n<td><FONT size=\"-1\">%s</FONT></td>    \n</tr>  \n</tbody>\n</table>    \n<br>",infos.num,infos.titre,infos.titre,infos.nomRespo,infos.mailRespo,infos.mailRespo,infos.description);
  
  // Le tableau des diponibilités

  printf("\n<table>");
  affLigneCrenModification();
  affLignesDisponibilitesModification(0,nPART-1);
  affFormulaire(nPART,nRDV);
  affLignesDisponibilitesModification(nPART+1,NPART-1);
  printf("\n</table>");
  
  //La fin de la page
  printf("\n</body>\n</html>");

}

void affLigneCrenModification(){
  printf("<tr bgcolor=\"#99CCCC\">\n<td bgcolor=\"#99CCCC\" width=\"180\">Participants</td>");//Une case "Participants"
  int i=0;
  for (i;i<NCREN;i++){ // Les cases des créneaux
    if (creneaux[i].annee!=0)
      printf("\n<td><div align=\"center\">%d/%d/%d\n <br>%d:%d</div></td>",creneaux[i].jour,creneaux[i].mois,creneaux[i].annee,creneaux[i].heure,creneaux[i].min);
  }
  printf("</tr>");
}

void affLignesDisponibilitesModification(int deb,int fin){ //Numéro de la première et de la dernière ligne INCLUSE à afficher
  
  int ligne=deb,c=0;
  int colonne;
  for(ligne;ligne<=fin;ligne++){
    printf("\n<tr>\n<td bgcolor=\"#99CCCC\" width=\"200\">%s</td>",participants[ligne].nom);//Une case avec le nom du participant
    
    for(colonne=0;colonne<NCREN;colonne++){//Les cases de disponibilités
      if (creneaux[colonne].annee!=0){

	switch (disponibilites[ligne][colonne]){
	case -1 : printf("\n<td bgcolor=\"#ff4020\"><div align=\"center\">%s</div></td>","Indisponible"); break;
	case 1 : printf("\n<td bgcolor=\"#ffa020\"><div align=\"center\">%s</div></td>","Peut se libérer"); break;
	case 2 : printf("\n<td bgcolor=\"#60c040\"><div align=\"center\">%s</div></td>","Disponible"); break;
	default : printf("\n<td bgcolor=\"#CECECE\"><div align=\"center\">%s</div></td>","Non renseigné");}
      }
    }
    printf("\n</tr>");
  }
}


void affFormulaire(int nPart, int nRDV){
  int colonne=0;
  char* cmods[NCREN]={"cmod0","cmod1","cmod2","cmod3","cmod4","cmod5","cmod6","cmod7","cmod8","cmod9"};
  printf("\n<tr>\n<td bgcolor=\"#99CCCC\" width=\"200\"><div align=\"center\"><strong>%s</div></strong></td>",participants[nPart].nom);//Une case avec le nom du participant
  
  printf("\n<FORM method=\"post\" action=\"../cgi-bin/confirmationRDV.cgi\">");

  for(colonne=0;colonne<NCREN;colonne++){//Les cases de disponibilités
    if (creneaux[colonne].annee!=0){
      printf("\n<td><table><tr bgcolor=\"#CECECE\">\n<td><INPUT name=\"%s\" type=\"radio\" value=\"0\" checked=\"checked\"><FONT size=\"-1\" >NR</FONT></td></tr>\n<tr bgcolor=\"#60c040\"><td><INPUT name=\"%s\" type=\"radio\" value=\"2\"><FONT size=\"-1\" >Disponible</FONT></td>\n</tr>\n<tr bgcolor=\"#ffa020\"><td><INPUT name=\"%s\" type=\"radio\" value=\"1\"><FONT size=\"-1\" >Peut se libérer</FONT></td></tr>\n<tr bgcolor=\"#ff4020\"><td><INPUT name=\"%s\" type=\"radio\" value=\"-1\"><FONT size=\"-1\" >Indisponible</FONT></td>\n</tr>\n</table>\n</td>",cmods[colonne],cmods[colonne],cmods[colonne],cmods[colonne]);
    }
  }
  printf("\n<td>\n<input type=hidden name=\"nPart\" value=\"%d\">\n<input type=hidden name=\"nRDV\" value=\"%d\"><input value=\"Ok\" type=\"submit\"></td>\n</FORM>",nPart,nRDV); // Le bouton "OK"
  
  printf("\n</tr>");
  
}
